Computer users today manage an increasingly large set of items, including their own documents, web-based contents, database search results, etc. Current user interface mechanisms are not designed to deal well with such large working sets. Although some user interface systems today are capable of providing specialized views which partially alleviate this problem, the user is generally responsible for locating and applying these specialized views. Even in systems which may select a “default view”—such as a photo view, there is no facility for composing a multitude of specialized views.
Thus a need exists for a system that addresses both of these issues. First, a system that analyzes data prior to its display and dynamically selects the most helpful and appropriate view based on a variety of environmental parameters is needed. Secondly, an unmet need exists for a system that allows for arbitrary and recursive combinations of specialized views, providing a broad space of both user-guided and rule-guided composite specialized views. Such a mechanism (e.g., via management applications) can automatically provide a user with a clear and comprehensive depiction of the contents.
Recently, rule-based systems and applications have emerged to personalize and/or customize applications in an effort to streamline efficiencies related to computing techniques. However, rule-based systems have not been applied to collections of data and/or view-set management applications.
Conventionally, computer systems and applications employ a standard and/or default rendering technique (e.g., standard detail list view) to present contents of a data collection and/or file system to a user. This default list view merely provides a limited listing of programs and/or files. For example, in one implementation, an alphabetical list is provided which is categorized by application name without regard to a specific file type. By way of further example, a user could manually customize or sort the list in a number of ways including, by file type, alphabetically, size, date, etc.
In this regard, many computer programs and applications provide a mechanism to allow a user to deviate from the default view thereby manually selecting a more specialized method to display the contents of a file system or data store (e.g., view-set). In other words, traditional desktop operating system environments allow a user to manually select from different views each of which displays directory contents in a different way. By way of example, a user can choose an icon view to display a directory in a manner that presents icons depicting specific file types. This icon view presents a small or large icon of the file type as manually specified by the user. In another example, a thumbnail view could be manually selected and thereby employed to display a directory containing image files. This view renderer presents a thumbnail image of each image file in a directory (e.g., view-set). Such existing viewers have the limitation of being homogenous. For example, only one view-set-renderer can be applied to a given view-set. As well, there is not facility for composition of view-set-renderers to different sections of a given view-set.
In addition to the need to customize and/or personalize view selection schemes based upon user preference or application type, advances in technology and hardware support a need to further manipulate view schemes in accordance with hardware constraints. Technological advances in communication devices equipped with computing power (e.g., smart-phones, personal digital assistants (PDAs)) support the need to provide for a system and/or method to present data in relation to the specifications of hardware devices and/or displays. By way of example, the specifications of a PDA display greatly impact the limitations of a view-set renderer as compared to a desktop personal computer (PC) equipped with a 19-inch monitor.
Although conventional systems provide limited ability to manually select pre-defined renderers of view-sets, there is a substantial unmet need to provide a system and/or methodology that allows a user to customize and select presentation characteristics (e.g., view-set renderer) to dynamically and automatically display the contents of a data store (e.g., view-set). Because the invention provides a wide variety of specialized view-set renderers, there is a growing need for the system to automatically select view-set renderers based on the characteristics of the view-set and the display environment. Moreover, in addition to standard desktop PC's, there is an unmet need to apply this functionality to today's continually emerging portable communications devices.